multiselect v TDBGrid

Otázka od: Ludo Fulop

16. 10. 2002 23:58

zdravim,
mam TDBGrid v ktorom mam povoleny multiselect a rowselect. Jeden stlpec si
vykreslujem sam v OnDrawColumnCell v zavislosti od toho, ci je riadok
vybrany alebo nie.
Pri vybere jedneho riadku je vsetko OK. Akonahle vsak vyberiem 2 riadky, tak
jeden z nich (neaktivny) nema nastaveny State na "gdSelected", aj ked je
tiez vysvieteny...
ako teda v OnDrawColumnCell zistim ci je dany riadok vybrany?

Ludo Fulop

winme->d6->ado->access

Odpovedá: David Michal

17. 10. 2002 12:37

Zdravim,
Zkus neco takoveho:

If DBGrid1.SelectedRows.CurrentRowSelected then
 begin
  //tady si dopln co potrebujes
  DBGGrid1.Canvas.Font.Style := [fsStrikeOut];
 end;

U vsech vybranych zaznamu, bude font preskrtnut. A mozna by nebylo spatne
doplnit:

if gdFocused in State Then
 if not DBGrid1.SelectedRows.CurrentRowSelected Then
  begin
   DBGrid1.SelectedRows.Clear;
   DBGrid1.SelectedRows.CurrentRowSelected := True;
  end;

Odstrani nepriznivy jev nevybrani zaznamu pri kliku pravym tlacitkem. Coz by
mohlo zlobit napriklad pri pouziti popupmenu nad vybranymi zaznamy.

David


zdravim,
mam TDBGrid v ktorom mam povoleny multiselect a rowselect. Jeden stlpec si
vykreslujem sam v OnDrawColumnCell v zavislosti od toho, ci je riadok
vybrany alebo nie.
Pri vybere jedneho riadku je vsetko OK. Akonahle vsak vyberiem 2 riadky, tak
jeden z nich (neaktivny) nema nastaveny State na "gdSelected", aj ked je
tiez vysvieteny...
ako teda v OnDrawColumnCell zistim ci je dany riadok vybrany?

Ludo Fulop

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.401 / Virus Database: 226 - Release Date: 09/10/2002